[INFO] cloning repository https://github.com/Moistorious/GameboyEmulator
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Moistorious/GameboyEmulator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMoistorious%2FGameboyEmulator", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMoistorious%2FGameboyEmulator'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 17fb7ab373a019b38a1253588168529b1cc1d32d
[INFO] fixing Moistorious/GameboyEmulator against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMoistorious%2FGameboyEmulator" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Moistorious/GameboyEmulator
[INFO] finished tweaking git repo https://github.com/Moistorious/GameboyEmulator
[INFO] tweaked toml for git repo https://github.com/Moistorious/GameboyEmulator written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Moistorious/GameboyEmulator on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Moistorious/GameboyEmulator already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded num_enum_derive v0.7.4
[INFO] [stderr]   Downloaded toml_edit v0.23.6
[INFO] [stderr]   Downloaded toml_parser v1.0.3
[INFO] [stderr]   Downloaded toml_datetime v0.7.2
[INFO] [stderr]   Downloaded num_enum v0.7.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] f016821aca452e0615bd88df81e6083bdf61de27a7f5baae3a07fff2ee1438ea
[INFO] running `Command { std: "docker" "start" "f016821aca452e0615bd88df81e6083bdf61de27a7f5baae3a07fff2ee1438ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f016821aca452e0615bd88df81e6083bdf61de27a7f5baae3a07fff2ee1438ea" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f016821aca452e0615bd88df81e6083bdf61de27a7f5baae3a07fff2ee1438ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f016821aca452e0615bd88df81e6083bdf61de27a7f5baae3a07fff2ee1438ea" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling hashbrown v0.16.0
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling toml_datetime v0.7.2
[INFO] [stderr]    Compiling indexmap v2.11.4
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling toml_parser v1.0.3
[INFO] [stderr]    Compiling toml_edit v0.23.6
[INFO] [stderr]    Compiling proc-macro-crate v3.4.0
[INFO] [stderr]    Compiling num_enum_derive v0.7.4
[INFO] [stderr]     Checking num_enum v0.7.4
[INFO] [stderr]     Checking main v0.1.0 (/opt/rustwide/workdir/main)
[INFO] [stdout] warning: unused import: `Gbz80`
[INFO] [stdout]  --> main/src/ops/xor.rs:2:31
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::cpu::{Reg8, Reg16, Gbz80};
[INFO] [stdout]   |                               ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Gbz80` and `Reg16`
[INFO] [stdout]  --> main/src/ops/bit.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::cpu::{Reg8, Reg16, Gbz80};
[INFO] [stdout]   |                        ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Gbz80`
[INFO] [stdout]  --> main/src/ops/or.rs:2:31
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::cpu::{Reg8, Reg16, Gbz80};
[INFO] [stdout]   |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Gbz80`
[INFO] [stdout]  --> main/src/ops/xor.rs:2:31
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::cpu::{Reg8, Reg16, Gbz80};
[INFO] [stdout]   |                               ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Gbz80` and `Reg16`
[INFO] [stdout]  --> main/src/ops/bit.rs:2:24
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::cpu::{Reg8, Reg16, Gbz80};
[INFO] [stdout]   |                        ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Gbz80`
[INFO] [stdout]  --> main/src/ops/or.rs:2:31
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::cpu::{Reg8, Reg16, Gbz80};
[INFO] [stdout]   |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]    --> main/src/gameboy.rs:141:37
[INFO] [stdout]     |
[INFO] [stdout] 141 |             self.memory.cartridge = Cartridge::new(data);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^ ---- unexpected argument of type `Vec<u8>`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> main/src/cartridge.rs:8:12
[INFO] [stdout]     |
[INFO] [stdout]   8 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 141 -             self.memory.cartridge = Cartridge::new(data);
[INFO] [stdout] 141 +             self.memory.cartridge = Cartridge::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 0 arguments but 1 argument was supplied
[INFO] [stdout]    --> main/src/gameboy.rs:141:37
[INFO] [stdout]     |
[INFO] [stdout] 141 |             self.memory.cartridge = Cartridge::new(data);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^ ---- unexpected argument of type `Vec<u8>`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> main/src/cartridge.rs:8:12
[INFO] [stdout]     |
[INFO] [stdout]   8 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 141 -             self.memory.cartridge = Cartridge::new(data);
[INFO] [stdout] 141 +             self.memory.cartridge = Cartridge::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `new_empty` found for struct `Cartridge` in the current scope
[INFO] [stdout]   --> main/src/memory.rs:24:35
[INFO] [stdout]    |
[INFO] [stdout] 24 |             cartridge: Cartridge::new_empty(),
[INFO] [stdout]    |                                   ^^^^^^^^^ associated function or constant not found in `Cartridge`
[INFO] [stdout]    |
[INFO] [stdout]   ::: main/src/cartridge.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub struct Cartridge {
[INFO] [stdout]    | -------------------- associated function or constant `new_empty` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `Cartridge`, consider using `Cartridge::new` which returns `Cartridge`
[INFO] [stdout]   --> main/src/cartridge.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  8 |     pub fn new() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `new_empty` found for struct `Cartridge` in the current scope
[INFO] [stdout]   --> main/src/memory.rs:24:35
[INFO] [stdout]    |
[INFO] [stdout] 24 |             cartridge: Cartridge::new_empty(),
[INFO] [stdout]    |                                   ^^^^^^^^^ associated function or constant not found in `Cartridge`
[INFO] [stdout]    |
[INFO] [stdout]   ::: main/src/cartridge.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub struct Cartridge {
[INFO] [stdout]    | -------------------- associated function or constant `new_empty` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout] note: if you're trying to build a new `Cartridge`, consider using `Cartridge::new` which returns `Cartridge`
[INFO] [stdout]   --> main/src/cartridge.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  8 |     pub fn new() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for struct `Cartridge` in the current scope
[INFO] [stdout]   --> main/src/memory.rs:49:47
[INFO] [stdout]    |
[INFO] [stdout] 49 |             0x0000..=0x7FFF => self.cartridge.write(address, value),
[INFO] [stdout]    |                                               ^^^^^ method not found in `Cartridge`
[INFO] [stdout]    |
[INFO] [stdout]   ::: main/src/cartridge.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub struct Cartridge {
[INFO] [stdout]    | -------------------- method `write` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `Hasher`
[INFO] [stdout]            candidate #2: `std::io::Write`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for struct `Cartridge` in the current scope
[INFO] [stdout]   --> main/src/memory.rs:51:47
[INFO] [stdout]    |
[INFO] [stdout] 51 |             0xA000..=0xBFFF => self.cartridge.write(address, value),
[INFO] [stdout]    |                                               ^^^^^ method not found in `Cartridge`
[INFO] [stdout]    |
[INFO] [stdout]   ::: main/src/cartridge.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub struct Cartridge {
[INFO] [stdout]    | -------------------- method `write` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `Hasher`
[INFO] [stdout]            candidate #2: `std::io::Write`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read` found for struct `Cartridge` in the current scope
[INFO] [stdout]   --> main/src/memory.rs:71:32
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 self.cartridge.read(address)
[INFO] [stdout]    |                                ^^^^ method not found in `Cartridge`
[INFO] [stdout]    |
[INFO] [stdout]   ::: main/src/cartridge.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub struct Cartridge {
[INFO] [stdout]    | -------------------- method `read` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `read`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `std::io::Read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for struct `Cartridge` in the current scope
[INFO] [stdout]   --> main/src/memory.rs:49:47
[INFO] [stdout]    |
[INFO] [stdout] 49 |             0x0000..=0x7FFF => self.cartridge.write(address, value),
[INFO] [stdout]    |                                               ^^^^^ method not found in `Cartridge`
[INFO] [stdout]    |
[INFO] [stdout]   ::: main/src/cartridge.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub struct Cartridge {
[INFO] [stdout]    | -------------------- method `write` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `Hasher`
[INFO] [stdout]            candidate #2: `std::io::Write`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read` found for struct `Cartridge` in the current scope
[INFO] [stdout]   --> main/src/memory.rs:73:47
[INFO] [stdout]    |
[INFO] [stdout] 73 |             0x0100..=0x3FFF => self.cartridge.read(address), // From cartridge, usually a fixed bank
[INFO] [stdout]    |                                               ^^^^ method not found in `Cartridge`
[INFO] [stdout]    |
[INFO] [stdout]   ::: main/src/cartridge.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub struct Cartridge {
[INFO] [stdout]    | -------------------- method `read` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `read`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `std::io::Read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read` found for struct `Cartridge` in the current scope
[INFO] [stdout]   --> main/src/memory.rs:74:47
[INFO] [stdout]    |
[INFO] [stdout] 74 |             0x4000..=0x7FFF => self.cartridge.read(address), // From cartridge, switchable bank via mapper
[INFO] [stdout]    |                                               ^^^^ method not found in `Cartridge`
[INFO] [stdout]    |
[INFO] [stdout]   ::: main/src/cartridge.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub struct Cartridge {
[INFO] [stdout]    | -------------------- method `read` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `read`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `std::io::Read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `write` found for struct `Cartridge` in the current scope
[INFO] [stdout]   --> main/src/memory.rs:51:47
[INFO] [stdout]    |
[INFO] [stdout] 51 |             0xA000..=0xBFFF => self.cartridge.write(address, value),
[INFO] [stdout]    |                                               ^^^^^ method not found in `Cartridge`
[INFO] [stdout]    |
[INFO] [stdout]   ::: main/src/cartridge.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub struct Cartridge {
[INFO] [stdout]    | -------------------- method `write` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following traits define an item `write`, perhaps you need to implement one of them:
[INFO] [stdout]            candidate #1: `Hasher`
[INFO] [stdout]            candidate #2: `std::io::Write`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read` found for struct `Cartridge` in the current scope
[INFO] [stdout]   --> main/src/memory.rs:76:47
[INFO] [stdout]    |
[INFO] [stdout] 76 |             0xA000..=0xBFFF => self.cartridge.read(address), // External RAM from cartridge
[INFO] [stdout]    |                                               ^^^^ method not found in `Cartridge`
[INFO] [stdout]    |
[INFO] [stdout]   ::: main/src/cartridge.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub struct Cartridge {
[INFO] [stdout]    | -------------------- method `read` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `read`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `std::io::Read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read` found for struct `Cartridge` in the current scope
[INFO] [stdout]   --> main/src/memory.rs:71:32
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 self.cartridge.read(address)
[INFO] [stdout]    |                                ^^^^ method not found in `Cartridge`
[INFO] [stdout]    |
[INFO] [stdout]   ::: main/src/cartridge.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub struct Cartridge {
[INFO] [stdout]    | -------------------- method `read` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `read`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `std::io::Read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read` found for struct `Cartridge` in the current scope
[INFO] [stdout]   --> main/src/memory.rs:73:47
[INFO] [stdout]    |
[INFO] [stdout] 73 |             0x0100..=0x3FFF => self.cartridge.read(address), // From cartridge, usually a fixed bank
[INFO] [stdout]    |                                               ^^^^ method not found in `Cartridge`
[INFO] [stdout]    |
[INFO] [stdout]   ::: main/src/cartridge.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub struct Cartridge {
[INFO] [stdout]    | -------------------- method `read` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `read`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `std::io::Read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read` found for struct `Cartridge` in the current scope
[INFO] [stdout]   --> main/src/memory.rs:74:47
[INFO] [stdout]    |
[INFO] [stdout] 74 |             0x4000..=0x7FFF => self.cartridge.read(address), // From cartridge, switchable bank via mapper
[INFO] [stdout]    |                                               ^^^^ method not found in `Cartridge`
[INFO] [stdout]    |
[INFO] [stdout]   ::: main/src/cartridge.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub struct Cartridge {
[INFO] [stdout]    | -------------------- method `read` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `read`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `std::io::Read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `read` found for struct `Cartridge` in the current scope
[INFO] [stdout]   --> main/src/memory.rs:76:47
[INFO] [stdout]    |
[INFO] [stdout] 76 |             0xA000..=0xBFFF => self.cartridge.read(address), // External RAM from cartridge
[INFO] [stdout]    |                                               ^^^^ method not found in `Cartridge`
[INFO] [stdout]    |
[INFO] [stdout]   ::: main/src/cartridge.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub struct Cartridge {
[INFO] [stdout]    | -------------------- method `read` not found for this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `read`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `std::io::Read`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a_before`
[INFO] [stdout]  --> main/src/ops/alu.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 |         let a_before = self.cpu.a;
[INFO] [stdout]   |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_before`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]  --> main/src/ops/arithmetic.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub fn add(&mut self, opcode: u8) {
[INFO] [stdout]   |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]  --> main/src/ops/arithmetic.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn adc(&mut self, opcode: u8) {
[INFO] [stdout]   |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/arithmetic.rs:12:27
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn sub(&mut self, opcode: u8) {
[INFO] [stdout]    |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/arithmetic.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn sbc(&mut self, opcode: u8) {
[INFO] [stdout]    |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/arithmetic.rs:20:26
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn cp(&mut self, opcode: u8) {
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]  --> main/src/ops/control_flow.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub fn jp(&mut self, opcode: u8) {
[INFO] [stdout]   |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]  --> main/src/ops/control_flow.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn jr(&mut self, opcode: u8) {
[INFO] [stdout]   |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/control_flow.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn call(&mut self, opcode: u8) {
[INFO] [stdout]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/control_flow.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn ret(&mut self, opcode: u8) {
[INFO] [stdout]    |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/control_flow.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn reti(&mut self, opcode: u8) {
[INFO] [stdout]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/control_flow.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn rst(&mut self, opcode: u8) {
[INFO] [stdout]    |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]  --> main/src/ops/inc_dec.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub fn inc(&mut self, opcode: u8) {
[INFO] [stdout]   |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]  --> main/src/ops/inc_dec.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn dec(&mut self, opcode: u8) {
[INFO] [stdout]   |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]  --> main/src/ops/shifts.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub fn rlc(&mut self, opcode: u8) {
[INFO] [stdout]   |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]  --> main/src/ops/shifts.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn rrc(&mut self, opcode: u8) {
[INFO] [stdout]   |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/shifts.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn rl(&mut self, opcode: u8) {
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/shifts.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn rr(&mut self, opcode: u8) {
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/shifts.rs:20:27
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn sla(&mut self, opcode: u8) {
[INFO] [stdout]    |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/shifts.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn sra(&mut self, opcode: u8) {
[INFO] [stdout]    |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/shifts.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn swap(&mut self, opcode: u8) {
[INFO] [stdout]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/shifts.rs:32:27
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn srl(&mut self, opcode: u8) {
[INFO] [stdout]    |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]  --> main/src/ops/bit_manipulation.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub fn set(&mut self, opcode: u8) {
[INFO] [stdout]   |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]  --> main/src/ops/bit_manipulation.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn res(&mut self, opcode: u8) {
[INFO] [stdout]   |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `main` (lib) due to 8 previous errors; 27 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `a_before`
[INFO] [stdout]  --> main/src/ops/alu.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 |         let a_before = self.cpu.a;
[INFO] [stdout]   |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_a_before`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]  --> main/src/ops/arithmetic.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub fn add(&mut self, opcode: u8) {
[INFO] [stdout]   |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]  --> main/src/ops/arithmetic.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn adc(&mut self, opcode: u8) {
[INFO] [stdout]   |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/arithmetic.rs:12:27
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn sub(&mut self, opcode: u8) {
[INFO] [stdout]    |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/arithmetic.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn sbc(&mut self, opcode: u8) {
[INFO] [stdout]    |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/arithmetic.rs:20:26
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn cp(&mut self, opcode: u8) {
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]  --> main/src/ops/control_flow.rs:4:26
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub fn jp(&mut self, opcode: u8) {
[INFO] [stdout]   |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]  --> main/src/ops/control_flow.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn jr(&mut self, opcode: u8) {
[INFO] [stdout]   |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/control_flow.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn call(&mut self, opcode: u8) {
[INFO] [stdout]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/control_flow.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn ret(&mut self, opcode: u8) {
[INFO] [stdout]    |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/control_flow.rs:20:28
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn reti(&mut self, opcode: u8) {
[INFO] [stdout]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/control_flow.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn rst(&mut self, opcode: u8) {
[INFO] [stdout]    |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]  --> main/src/ops/inc_dec.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub fn inc(&mut self, opcode: u8) {
[INFO] [stdout]   |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]  --> main/src/ops/inc_dec.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn dec(&mut self, opcode: u8) {
[INFO] [stdout]   |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]  --> main/src/ops/shifts.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub fn rlc(&mut self, opcode: u8) {
[INFO] [stdout]   |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]  --> main/src/ops/shifts.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn rrc(&mut self, opcode: u8) {
[INFO] [stdout]   |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/shifts.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn rl(&mut self, opcode: u8) {
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/shifts.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn rr(&mut self, opcode: u8) {
[INFO] [stdout]    |                          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/shifts.rs:20:27
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn sla(&mut self, opcode: u8) {
[INFO] [stdout]    |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/shifts.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn sra(&mut self, opcode: u8) {
[INFO] [stdout]    |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/shifts.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn swap(&mut self, opcode: u8) {
[INFO] [stdout]    |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]   --> main/src/ops/shifts.rs:32:27
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn srl(&mut self, opcode: u8) {
[INFO] [stdout]    |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]  --> main/src/ops/bit_manipulation.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 |     pub fn set(&mut self, opcode: u8) {
[INFO] [stdout]   |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]  --> main/src/ops/bit_manipulation.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn res(&mut self, opcode: u8) {
[INFO] [stdout]   |                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `main` (lib test) due to 8 previous errors; 27 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "f016821aca452e0615bd88df81e6083bdf61de27a7f5baae3a07fff2ee1438ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f016821aca452e0615bd88df81e6083bdf61de27a7f5baae3a07fff2ee1438ea", kill_on_drop: false }`
[INFO] [stdout] f016821aca452e0615bd88df81e6083bdf61de27a7f5baae3a07fff2ee1438ea
